The present invention, relates to a method of operating a communications network, and in particular to a method of controlling the admission of sessions into and across a communications network.
Call or session admission requests are made using component protocols, for example the Session Initiation Protocol (SIP) or a protocol from the H.323 protocol suite, although it would be understood that other protocols are known. H.323, in a Voice over IP (VoIP) example, uses H.225.0 to make an admission request (ARQ), with protocol H.245 being used to negotiate audio parameters that will be used in the sessions. Even if a proprietary protocol is being used, such a request will contain information about the supported and desired Quality of Service parameters—a function of, for example, bandwidth (B) required at bitrate rb, maximum loss supportable for service Im maximum tolerable delay td and jitter tj. This admission request can be expressed in a generalised form as;ARQ=f(B,rb,Im,td,tj)
This request can be translated into one of many pre-defined 6-bit DSCP (Differentiated Services Code Point) values used in IP/MPLS data packets either at the source of the data, that is within a customer's network or at the Provider Edge (PE) of the network. There are several label distribution protocols that can be used to create and make bindings of labels to forwarding equivalence classes (FEC) in MPLS networks. Examples include BGP (Border Gateway Protocol), RSVP-TE (Resource Reservation Protocol-Traffic Engineering), LDP (Label Distribution Protocol) and TDP (Tag Distribution Protocol). The following discussion will focus on the use of RSVP-TE in this IRF but the principles of the present invention have broader relevance than the message carrying protocols used in a particular embodiment.
FIG. 1 shows a schematic depiction of a conventional MPLS network 100. The MPLS network 100 connects a first customer network 200a to a second customer network 200b. The first customer network 200a comprises a provider edge router 210a which is in communication with a first MPLS network provider edge router 110a. 
Similarly, the second customer network 200b comprises a provider edge router 210b which is in communication with a second MPLS network provider edge router 110b. The MPLS network 100 further comprises a plurality of provider routers 120 which provide a plurality of routes through the MPLS network from the first MPLS network provider edge router 110a to the second MPLS network provider edge router 110b. In one implementation of MPLS, the ingress provider edge router defines the path that an MPLS-enabled session must take to reach the egress provider edge router. This is called explicit routing, which can be strict or loose. The intelligence is therefore pushed to the provider edge routers in MPLS, where they classify, encapsulate, route and decapsulate sessions using stacked label switching whereas the provider routers (that is a router which act only as a transit router within a network) will only perform label switching.
FIG. 1 further shows an MPLS tunnel which connects the first and second MPLS network provider edge routers 110a, 110b. Once an MPLS tunnel has been created, it will only be used for traffic forwarding by the Interior Gateway Protocols (IGPs) if this is programmed after tunnel setup. When an admission request arrives at a Provider Edge router, admission is granted or denied based on availability of resources, usually availability of bandwidth for the required bitrate, in the network for that session using the DSCP value (which will correspond to the QoS that the service requests). If the MPLS tunnels have been advertised to the Interior Gateway Protocol (IGP) then they can be used for routing the admitted traffic trunk if they meet its QoS requirements. The mapping of the route of the tunnel to the hardware below can change during the course of the session due to changes in the IGP. This is used for temporary resilience in the event of link or router failure and is called Fast Re-Route (FRR). Examples of IGPs are Open Shortest Path First (OSPF), Intermediate System to Intermediate System (IS-IS) and Routing Information Protocol (RIP). OSPF and IS-IS are link state protocols, which means that each node that uses this protocol has a knowledge of the entire topology and link costs of its local network. This property is later used in this IRF.
Bashar et al, “Machine Learning Based Call Admission Control Approaches: A Comparative Study” discloses a technique of estimating the current value of a network parameter that is difficult to measure based on the current measurement of other network parameters based on historical variations of the different parameters.
According to a first aspect of the present invention there is provided a method of operating a communications network, the network comprising a plurality of nodes, a plurality of communications links interconnecting the nodes and a plurality of tunnels, each of the plurality of tunnels comprising one or more of the plurality of communications links, the method comprising the steps of: a) creating a datastore, the datastore comprising, for each of the plurality of tunnels connecting a first network node to a second network node, one or more parameter values for a plurality of time intervals over a pre-determined duration; b) receiving a request to admit a session to the communications network, the session being routed between the first network node and the second network node; for each of the plurality of tunnels connecting a first network node to a second network node: i) determining the expected performance of he tunnel for the duration of the requested session; ii) determining the impact of admitting the requested session to the sessions already supported by the tunnel; and iii) evaluating the historical performance of the tunnel; and accepting the request to admit a session to one of the plurality of tunnels if the admitted session can be supported by the tunnel throughout the duration of the session without impacting presently supported sessions.
The method may comprise the further step of updating the datastore in response to the acceptance of the request to admit a session. During step a) the datastore may be created on the basis of parameter values of the plurality of communications links which comprise the plurality of tunnels.
During step i) the expected performance of the tunnel for the duration of the requested session may be determined on the basis of one of the communications links which comprise the tunnel; this determination may be made on the basis of the communications links which is most likely to fail in the event that the session is admitted.
If the requested session cannot be admitted by the network, then the method may comprise the further steps of: determining a first portion of the requested session to be admitted over a first tunnel connecting a first network node to a second network node; determining one or more further portions to be admitted over one or more further tunnels connecting a first network node to a second network node, the admission of each of the portions of the session request to be determined in accordance with steps i), ii) & iii).
According to a second aspect of the present invention there is provided a network gatekeeper for a network comprising a plurality of nodes, a plurality of communications links interconnecting the nodes and a plurality of tunnels, each of the plurality of tunnels comprising one or more of the plurality of communications links, the gatekeeper being configured, in use, to a) create a datastore, the datastore comprising, for each of the plurality of tunnels connecting a first network node to a second network node, one or more parameter values for a plurality of time intervals over a pre-determined duration; b) receive a request to admit a session to the communications network, the session being routed between the first network node and the second network node; and, for each of the plurality of tunnels connecting a first network node to a second network node, to: i) determine the expected performance of the tunnel for the duration of the requested session; ii) determine the impact of admitting the requested session to the sessions already supported by the tunnel; and iii) evaluate the historical performance of the tunnel; and accept the request to admit a session to one of the plurality of tunnels if the admitted session can be supported by the tunnel throughout the duration of the session without impacting presently supported sessions.
The network gatekeeper may be further configured to, if the requested session cannot be admitted by the network: determine a first portion of the requested session to be admitted over a first tunnel connecting a first network node to a second network node; determine one or more further portions to be admitted over one or more further tunnels connecting a first network node to a second network node, the admission of each of the portions of the session request to be determined in accordance with steps i), ii) & iii).